import time
from public.action import *
from public.business import *
from public.testData import *
from public.tools import*

testCase="DBshop002_余额支付流程"

# 打开网页
firefox=openBrowser(url)

# 登录账号
DBshopLogin(firefox,userName,password)

# 搜索框搜索小米
firefox.find_element_by_xpath('//input[@name="keywords"]').send_keys('小米')

# 点击搜索按钮
firefox.find_element_by_xpath('//input[@type="submit"]').click()

# 点击小米MIX3图片
firefox.find_element_by_xpath('//a[@href="/dbshop/goods/8/2"]').click()

#切换到第二页面
switchWindow(firefox,2)

# 点击添加到购物车
firefox.find_element_by_id('add_cart_submit').click()
time.sleep(2)

# 点击去购物车结算
firefox.find_element_by_link_text("去购物车结算").click()

# 点击去结算按钮
firefox.find_element_by_link_text("去结算").click()

# 默认收货地址点击下一步
firefox.find_element_by_xpath("//input[@value='下一步']").click()

# 点击余额支付
firefox.find_element_by_xpath("//input[@value='yezf']").click()

# 点击确认订单
firefox.find_element_by_xpath("//input[@value='确认订单']").click()

#使用变量orderNO存储订单编号
orderNO=firefox.find_element_by_xpath('(//font[@color="color:#ED145B"])[2]').text
rootPath=get_pro_rootpath()
writeFile(rootPath+'\public\order1.txt',orderNO)

# 点击马上去支付
firefox.find_element_by_xpath("//input[@value='马上去支付']").click()

# 登录后台管理系统,地址是"http://localhost/dbshop/admin",
firefox.get(urlAdmin)

# 后台账号的登录
DBshopLoginAdmin(firefox)

# 进入销售管理，订单管理
DBshopEnterMenu2(firefox,'销售管理','订单管理')

# 搜索出订单
firefox.find_element_by_name('order_sn').send_keys(orderNO)
firefox.find_element_by_xpath('//button').click()

# 点击编辑查看
firefox.find_element_by_link_text("编辑查看").click()

# 点击发货操作
firefox.find_element_by_link_text("发货操作").click()

# 点击点击发货
firefox.find_element_by_xpath('//button').click()

# 进入前台网站
firefox=openBrowser(url)

# 登录账号
DBshopLogin(firefox,userName,password)

# 点击我的订单
firefox.find_element_by_link_text("我的订单").click()

# 点击已发货
firefox.find_element_by_partial_link_text("已发货").click()

# 搜索框输入订单号
firefox.find_element_by_name('search_order_sn').send_keys(orderNO)
firefox.find_element_by_xpath('//button').click()

# 点击确认收货
firefox.find_element_by_xpath("//button[text()='确认收货']").click()
firefox.find_element_by_xpath('//button[@type="submit"]').click()
firefox.switch_to.alert.accept()

# 点击交易完成，搜索订单号，点击确认
firefox.find_element_by_partial_link_text('交易完成').click()
firefox.find_element_by_name('search_order_sn').send_keys(orderNO)
firefox.find_element_by_xpath('//button').click()

#断言
try:
    firefox.find_element_by_link_text(orderNO).is_displayed()  #is_displayed()函数判断元素是否显示
    writeLog("%s 测试通过"%testCase)
except:
    writeLog("%s 测试失败" % testCase)
    getPhoto(firefox)

firefox.quit()